#ifndef QUESTION_SYNCER_H
#define QUESTION_SYNCER_H

#include <QObject>
#include <QSqlDatabase>
#include <QNetworkAccessManager>
#include <QTimer>

class QuestionSyncer : public QObject {
    Q_OBJECT

public:
    explicit QuestionSyncer(QObject* parent = nullptr);
    ~QuestionSyncer();

    void startSyncQuestion(int intervalMinutes = 10); // 启动定时同步

private slots:
    void onSyncTimer();                      // 定时器触发
    void onFetchFinished(QNetworkReply* reply); // 网络请求完成

private:
    QSqlDatabase db;                        // 数据库连接
    QNetworkAccessManager networkManager;   // 网络管理器
    QTimer syncTimer;                       // 定时器
    qint64 lastMaxId = 0;                   // 本地最大 ID 缓存

    qint64 getLocalMaxQuestionId();         // 获取本地最大 ID
    void syncQuestions();                    // 同步主函数
};

#endif // QUESTION_SYNCER_H
